/*## 第二题：数组处理
编写一个数组运算的程序并输出结果。数组定义为Array[10]。矩阵的运算都用函数来实现，要求完成如下函数：
（1）用随机数对数组初始化；
（2）数组输出函数；
（3）求数组的均值；
（4）对数组按从小到大进行排序；
（5）main 函数，main 函数参考结构见后；
提示：随机数产生函数是rand()，随机数种子设置函数是srand()，请自行设置随机数种子以产生不同的随机数。
主要函数原型如下：
void InitialRand(int *p_Array, int n); //初始化为30 以内随机正整数
void print(int *p_Array, int n);//数组输出函数
int average(int *p_Array, int n);//求均值
void order(int *p_Array, int n);//排序
int main(){
int Array[10],i,ave;
int *p = Array;
//调用初始化函数；
//调用数组输出函数；
//调用平均值函数；
//输出平均值；
//调用排序函数；
//调用数组输出函数；
return 0;
}*/
#include <stdio.h>
#include <stdlib.h>

void InitialRand(int *p_Array, int n); //初始化为30 以内随机正整数
void print(int *p_Array, int n);//数组输出函数
int average(int *p_Array, int n);//求均值
void order(int *p_Array, int n);//排序
int main()
{
    int Array[10],i,ave;
    int *p = Array;
    InitialRand(p,10);
    print(p,10);
    ave=average(p,10);
    printf("%d\n",ave);
    order(p,10);
    print(p,10);
    return 0;
}

void InitialRand(int *p_Array, int n)
{
    srand(n);
    for(int i=0;i<n;i++)
    {
        p_Array[i]=rand()%30+1;
    }
}
void print(int *p_Array, int n)
{
    for(int i=0;i<n;i++)
    {
        printf("%d ",p_Array[i]);
    }
    printf("\n");
}
int average(int *p_Array, int n)
{
    int ave=0,i;
    for(i=0;i<n;i++)
    {
        ave+=p_Array[i];
    }
    ave/=i+1;
    return ave;
}
void order(int *p_Array, int n)
{
    int tem;
    for(int i=0;i<n-1;i++)
    for(int j=0;j<n-1-i;j++)
    {
        if(p_Array[j]>p_Array[j+1])
        {
            tem =p_Array[j];p_Array[j]=p_Array[j+1];p_Array[j+1]=tem;
        }
    }
}